package com.dingding.service.account.core.tailwind.dao;

import java.util.List;

import com.dingding.common.core.beans.PassangerDepositAccount;
import com.dingding.facade.account.common.dto.tailwind.ResGetDepositAccount;
import com.dingding.facade.account.common.dto.tailwind.ResUAStatus;

/**
 * 
 * @ClassName: IDepositAccountDao 
 * @Description: 用户提现账户DAO接口类
 * @author YHQ
 * @date 2016年12月21日 下午3:54:03
 * @since V2.6.3
 * 
 */
public interface IDepositAccountDao {

	/**
	 * 
	 * @Title: getUserAuthenticationStatus 
	 * @Description: 获取顺风车用户提现认证状态
	 * @param userId 用户Id
	 * @author YHQ 
	 * @since V2.5.8
	 * @return ResUAStatus 返回类型
	 * 
	 */
	public ResUAStatus getUserAuthenticationStatus(String userId);
	
	/**
	 * 
	 * @Title: addDepositAccount 
	 * @Description: 根据用户id添加用户提现账户
	 * @param depositAccount 用户提现账户信息
	 * @author YHQ 
	 * @since V2.5.8
	 * @return boolean    返回类型
	 * 
	 */
	public boolean addDepositAccount(PassangerDepositAccount depositAccount);
	
	/**
	 * 
	 * @Title: deleteDepositAccount 
	 * @Description: 根据用户id删除提现账户
	 * @param depositAccountId 主键id
	 * @param userId 用户Id
	 * @author YHQ 
	 * @since V2.5.8 
	 * @return boolean    返回类型
	 * 
	 */
	public boolean deleteDepositAccount(Integer depositAccountId,String userId);
	
	/**
	 * 
	 * @Title: getDepositAccountList 
	 * @Description: 根据用户id获取提现账户列表(启用)
	 * @param userId 用户Id
	 * @author YHQ 
	 * @since V2.5.8
	 * @return List<ResGetDepositAccount>    返回类型
	 * 
	 */
	public List<ResGetDepositAccount> getDepositAccountList(String userId);
	
	/**
	 * 
	 * @Title: getPassangerDepositAccount 
	 * @Description: 根据用户Id获取全部用户提现账户列表(启用和禁用)
	 * @param userId 用户Id
	 * @author YHQ 
	 * @since V2.6.3
	 * @return List<PassangerDepositAccount>    返回类型
	 * 
	 */
	public List<PassangerDepositAccount> getPassangerDepositAccount(String userId);
	
}
